/**
 * Created with IntelliJ IDEA.
 * Description：
 * User：user
 * DATE:2021-11-01
 * Time:16:20
 */

//包装类 int Ineteger
//char Character
//其他的包装类，基本数据类型对象的类类型


    //泛型：<指定数据类型>
    //包装类<类类型>

public class TestDemo3 {


    public static void main(String[] args) {
        Integer i1 = 16;
        Integer i2 = 16;
        System.out.println(i1 == i2);//true

//        Integer i3 = 190;
//        Integer i4 = 190;//其实发生了装箱操作，底层代码超过了范围，new对象了，所以两个对象不同
//        System.out.println(i3 == i4);//fasle

       /* Integer i3 = 127;
        Integer i4 = 127;//其实发生了装箱操作，底层代码超过了范围，new对象了，所以两个对象不同
        System.out.println(i3 == i4);//范围为-128--127//true*/

        Integer i3 = 128;
        Integer i4 = 128;//其实发生了装箱操作，底层代码超过了范围，new对象了，所以两个对象不同
        System.out.println(i3 == i4);//范围为-128--127//true
    }

    public static void main1(String[] args) {
        //装箱装包,把简单类型编程包装类的过程
        //自动的装箱 显示的装箱，进行包装的目的是使得简单类型以后可以面向对象，橘子和橘子罐头
        int val = 0;
        Integer vv= val;//自动的装箱，拿个箱子直接放进去得了，定义一个变量
        Integer VV2 = new Integer(12);//显示装箱相当于是构造出来的,自动装箱底层调用Interge val
        Integer VV3 = Integer.valueOf(13);//显示装箱
        Integer str = Integer.valueOf("123");//字符串变成整数

        //拆箱拆包
        //自动的拆箱 显示的拆箱
        int val2 = VV2;//自动拆箱
        int val3 = VV2.intValue();
        double val4 = VV3.doubleValue();//注意此处拆成了double，可以把一个数字轻松的编程其他类型
        //数字之间的转换变得非常方便
        //拆箱取决你要对的类型
        System.out.println(val4);

    }
}
